@echo off
echo 天气预报APP打包并运行脚本
echo ===========================
echo.

REM 检查Node.js是否安装
where node >nul 2>nul
if %ERRORLEVEL% neq 0 (
    echo 错误: 未检测到Node.js，请先安装Node.js
    echo 下载地址: https://nodejs.org/
    pause
    exit /b
)

REM 检查Expo CLI是否安装
call npx expo --version >nul 2>nul
if %ERRORLEVEL% neq 0 (
    echo 安装Expo CLI...
    call npm install -g expo-cli
    if %ERRORLEVEL% neq 0 (
        echo 错误: 安装Expo CLI失败
        pause
        exit /b
    )
)

REM 检查EAS CLI是否安装
call npx eas --version >nul 2>nul
if %ERRORLEVEL% neq 0 (
    echo 安装EAS CLI...
    call npm install -g eas-cli
    if %ERRORLEVEL% neq 0 (
        echo 错误: 安装EAS CLI失败
        pause
        exit /b
    )
)

echo 安装项目依赖...
cd 天气预报APP
call npm install
if %ERRORLEVEL% neq 0 (
    echo 错误: 安装依赖失败
    pause
    exit /b
)

echo.
echo 请选择操作:
echo 1. 运行应用（开发模式）
echo 2. 打包Android应用
echo 3. 打包iOS应用
echo 4. 打包Web应用
echo 5. 退出
echo.

set /p choice=请输入选项 (1-5): 

if "%choice%"=="1" (
    echo 启动应用（开发模式）...
    call npm start
) else if "%choice%"=="2" (
    echo 打包Android应用...
    echo 注意: 此操作需要Expo账号
    echo 是否已登录Expo账号? (Y/N)
    set /p login=
    if /i "%login%"=="N" (
        call npx eas login
    )
    
    echo 是否已配置EAS构建? (Y/N)
    set /p configured=
    if /i "%configured%"=="N" (
        echo 配置EAS构建...
        call npx eas build:configure
    )
    
    call npm run build:android
    echo.
    echo 构建完成后，你可以在Expo网站上下载APK文件
    echo 或者使用以下命令查看构建状态:
    echo npx eas build:list
) else if "%choice%"=="3" (
    echo 打包iOS应用...
    echo 注意: 此操作需要Expo账号和Apple Developer账号
    echo 是否已登录Expo账号? (Y/N)
    set /p login=
    if /i "%login%"=="N" (
        call npx eas login
    )
    
    echo 是否已配置EAS构建? (Y/N)
    set /p configured=
    if /i "%configured%"=="N" (
        echo 配置EAS构建...
        call npx eas build:configure
    )
    
    call npm run build:ios
    echo.
    echo 构建完成后，你可以在Expo网站上下载IPA文件
    echo 或者使用以下命令查看构建状态:
    echo npx eas build:list
) else if "%choice%"=="4" (
    echo 打包Web应用...
    call npm run build:web
    echo Web应用已打包到 web-build 目录
    echo 你可以将该目录部署到任何Web服务器上
) else if "%choice%"=="5" (
    echo 退出程序
    exit /b
) else (
    echo 无效选项，请重新运行脚本
)

pause